const storage = {
  // 设置存储并触发事件
  set(key, value) {
    uni.setStorageSync(key, value);
    // 触发自定义事件
    uni.$emit("storageChange", { key, value });
  },

  // 获取存储
  get(key) {
    return uni.getStorageSync(key);
  },

  // 监听存储变化
  watch(key, callback) {
    // 监听自定义事件
    const handler = (e) => {
      if (e.key === key) {
        callback(e.value);
      }
    };
    uni.$on("storageChange", handler);

    // 返回取消监听函数
    return () => uni.$off("storageChange", handler);
  },
};
export default storage;
